package com.shioirikukuri.service;

import com.shioirikukuri.entity.Food;

import java.util.Collection;
import java.util.List;
import java.util.Optional;

public interface IFoodService {

	/**
	 * 获取所有菜品列表
	 *
	 * @return 菜品列表
	 */
	List<Food> getAllFoods();

	/**
	 * 根据ID查找菜品
	 *
	 * @param id 菜品ID
	 * @return 包含找到的菜品的Optional对象，如果未找到则为空
	 */
	Optional<Food> getFoodById(Long id);

	/**
	 * 添加新的菜品
	 *
	 * @param food 新菜品的信息
	 * @return 已添加的菜品
	 */
	Food addFood(Food food);

	/**
	 * 更新已有菜品的信息
	 *
	 * @param id   需要更新的菜品ID
	 * @param food 新的菜品信息
	 * @return 更新后的菜品
	 */
	Food updateFood(Long id, Food food);

	/**
	 * 删除指定ID的菜品
	 *
	 * @param id 菜品ID
	 */
	void deleteFood(Long id);


	List<Food> getFoodsByIds(Collection<Long> ids);


	/**
	 * 根据分类ID查找菜品
	 * @param categoryId
	 * @return
	 */
	List<Food> getFoodsByCategoryId(Long categoryId);

	/**
	 * 根据ID修改图片路径
	 * @param id
	 * @param imageUrl
	 */
	void updateImageUrlById(Long id, String imageUrl);

}